package com.bjpowernode.crm.workbench.service;

import com.bjpowernode.crm.settings.domain.User;
import com.bjpowernode.crm.workbench.domain.FunnelVO;
import com.bjpowernode.crm.workbench.domain.Tran;
import com.bjpowernode.crm.workbench.dto.TranAddingDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 处理交易相关业务
 */
public interface TranService {

    /**
     * 新增交易
     *
     * @param tran 交易信息
     */
    void addTran(Tran tran);

    /**
     * 新增交易记录和交易历史
     * 若对应客户不存在，也会进行创建
     *
     * @param tranAddingDto 交易信息
     * @param user          当前用户
     */
    void addTran(TranAddingDto tranAddingDto, User user);

    /**
     * 根据 id 查交易
     *
     * @param id 交易的 id
     */
    Tran queryTranById(String id);

    /**
     * 查询每个阶段有多少交易
     *
     * @return 查询结果
     */
    List<FunnelVO> queryCountOfEveryStage();

}
